#include <stdio.h>
#include <string.h>

typedef struct {
    const int* ptr_const_value;   
    int* const const_ptr;         
    char description[50];         
} ComplexStruct;

typedef void (*PrintCallback)(const ComplexStruct*);

void print_struct(const ComplexStruct* data) {
    printf("Description: %s\n", data->description);
    printf("Constant Pointer (ptr_const_value): %d\n", *(data->ptr_const_value));
    printf("Pointer Constant (const_ptr): %d\n", *(data->const_ptr));
}

int main() {
    int value1 = 42;
    int value2 = 100;

    ComplexStruct my_struct = {
        .ptr_const_value = &value1,  
        .const_ptr = &value2,        
        .description = "Example of const pointer and pointer const"
    };

    PrintCallback callback = print_struct;
    callback(&my_struct);


    return 0;
}
//	callback_t callback=my_callback;
	
//	callback(&test);
//}
